package com.iflytek.day25;

import java.io.File;

public class _07_FileTest {
  static String fileModule = "src\\com\\iflytek\\day25\\";

  public static void main(String[] args) {
    // 练习二：删除一个多级文件夹
    // delete方法
    // 只能删除文件和空文件夹.
    // 如果现在要删除一个有内容的文件夹?
    // 先删掉这个文件夹里面所有的内容.
    // 最后再删除这个文件夹

    File src = new File(fileModule + "aaa");
    deleteDir(src);
  }

  // 1.定义一个方法,接收一个File对象
  private static void deleteDir(File src) {
    // 先删掉这个文件夹里面所有的内容.
    // 递归 方法在方法体中自己调用自己.
    // 注意: 可以解决所有文件夹和递归相结合的题目
    // 2.遍历这个File对象,获取它下边的每个文件和文件夹对象
    File[] files = src.listFiles();
    // 3.判断当前遍历到的File对象是文件还是文件夹
    for (File file : files) {
      // 4.如果是文件,直接删除
      if (file.isFile()) {
        file.delete();
      } else {
        // 5.如果是文件夹,递归调用自己,将当前遍历到的File对象当做参数传递
        deleteDir(file);// 参数一定要是src文件夹里面的文件夹File对象
      }
    }
    // 6.参数传递过来的文件夹File对象已经处理完成,最后直接删除这个空文件夹
    src.delete();
  }
}
